//
//  NetStatusManager.m
//  TravelGuideMdd
//
//  Created by BigPolarBear on 13-5-21.
//  Copyright (c) 2013年 mafengwo.com. All rights reserved.
//

#import "NetStatusManager.h"
#ifndef MFWSdkHeaders
#import "Reachability.h"
#endif
//#import "MFWSDK.h"

@interface NetStatusManager()

@property (nonatomic,strong) Reachability* reachability;
@property (nonatomic,strong) NSMutableDictionary* dictConnection;

#pragma mark 辅助方法


@end

/** @name 连接管理器 */
@implementation NetStatusManager

#pragma mark ------ 类方法

/** 单例 */
+(NetStatusManager*)defaultManager
{
    static NetStatusManager* _defaultManager = nil;
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _defaultManager = [[NetStatusManager alloc] init];        
    });
    
    return _defaultManager;
}


-(void)startNotifier
{
    Reachability* reachability = [Reachability reachabilityWithHostName:@"www.baidu.com"];
    self.reachability = reachability;
    [self.reachability startNotifier];
}
#pragma mark 网络状态判断（使用时需监测 通知事件：网络状态变化）

/** 连接Wifi */
+(BOOL)networkStatusWifi
{
    return [NetStatusManager defaultManager].networkStatusWifi;
}
/** 连接2G、3G等蜂窝网络 */
+(BOOL)networkStatusWWAN
{
    return [NetStatusManager defaultManager].networkStatusWWAN;
}
/** 是否有网络 */
+(BOOL)networkStatusNetwork
{
    return [NetStatusManager defaultManager].networkStatusNetwork;
}


#pragma mark ------ 实例方法

-(NSMutableDictionary*)dictConnection
{
    if(!_dictConnection)
    {
        _dictConnection = [NSMutableDictionary dictionaryWithCapacity:0];
    }
    
    return _dictConnection;
}



#pragma mark 网络状态判断（使用时需监测 通知事件：网络状态变化）

/** 连接Wifi */
-(BOOL)networkStatusWifi
{
    return self.reachability.currentReachabilityStatus == ReachableViaWiFi;
}
/** 连接2G、3G等蜂窝网络 */
-(BOOL)networkStatusWWAN
{
    return self.reachability.currentReachabilityStatus == ReachableViaWWAN;
}
/** 是否有网络 */
-(BOOL)networkStatusNetwork
{
    return self.reachability.currentReachabilityStatus != NotReachable;
}


@end
